package testCase.module1;

import android.util.Log;
import android.widget.Button;
import testCase.HeadTestCase;
import utils.MyTestResult;
import utils.UserInfo_Properties;

public class NO_004_PhoneEditText extends HeadTestCase {

	MyTestResult t = new MyTestResult();
	String phoneNumber1 = "123456789";
	String phoneNumber2 = "12345678900";
	String errorCode = "123";

	public NO_004_PhoneEditText() {
		try {
			super.setUp();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 验证手机号输入框不足11位数字，验证码按钮状态
	 * 
	 * @throws Exception
	 */
	public void test_001_errorPN() throws Exception {

		Log.d(TAG, solo.waitForText("^开始使用$") + "++" + getName());

		entrance.getStart_Page().click_btn_start();
		solo.sleep(500);
		Log.e(TAG, "wait for view:" + solo.waitForView(entrance.getLogin_page().getBtn_ok()));

		entrance.getLogin_page().enter_PhoneNumber(phoneNumber1);
		Button code = entrance.getLogin_page().getBtn_verify();

		if (!code.isEnabled()) {
			Log.d(TAG, "验证码按钮状态正确");
			t.printTestResultToExcel(cl_Name + getName(), "验证手机号输入框输入不足11位数字，验证码按钮状态", "不可点击", "pass");
		} else {
			Log.e(TAG, "验证码按钮状态错误");
			t.printTestResultToExcel(cl_Name + getName(), "验证手机号输入框输入不足11位数字，验证码按钮状态", "不可点击", "fail");
			assertTrue(getName() + ":验证码按钮状态错误", false);
		}
	}

	/**
	 * 验证手机号输入框输入非手机号码的11位数字，点击验证码按钮
	 * 
	 * @throws Exception
	 */
	public void test_002_NotPN() throws Exception {

		Log.d(TAG, solo.waitForText("^开始使用$") + "++" + getName());

		entrance.getStart_Page().click_btn_start();
		solo.sleep(500);
		Log.e(TAG, "wait for view:" + solo.waitForView(entrance.getLogin_page().getBtn_ok()));

		entrance.getLogin_page().enter_PhoneNumber(phoneNumber2);
		entrance.getLogin_page().click_btn_verify();

		if (solo.searchText("^手机号错误$") && solo.searchText("未知手机号，请重新输入")) {
			t.printTestResultToExcel(cl_Name + getName(), "验证手机号输入框输入非手机号码的11位数字，点击验证码按钮", "提示手机号错误", "pass");
			Log.d(TAG, "弹出错误提示");
		} else {
			t.printTestResultToExcel(cl_Name + getName(), "验证手机号输入框输入非手机号码的11位数字，点击验证码按钮", "提示手机号错误", "fail");
			Log.d(TAG, "未弹出错误提示");
			assertTrue(getName() + ":未弹出错误提示", false);
		}
	}

	// 手机号输入框输入正确的电话号码，点击验证码按钮，验证验证码按钮状态
	public void test_003_sendCode() throws Exception {
		Log.d(TAG, solo.waitForText("^开始使用$") + "++" + getName());

		entrance.getStart_Page().click_btn_start();
		solo.sleep(500);
		Log.e(TAG, "wait for view:" + solo.waitForView(entrance.getLogin_page().getBtn_ok()));

		entrance.getLogin_page().enter_PhoneNumber(
				UserInfo_Properties.getValue(UserInfo_Properties.MANERGERTEACHER_PHONENUMBER));
		entrance.getLogin_page().click_btn_verify();

		if (solo.waitForText("验证码将发送到"+UserInfo_Properties.getValue(UserInfo_Properties.MANERGERTEACHER_PHONENUMBER))
				&&solo.waitForText("发送验证码", 1, 5000)) {
			solo.clickOnText("^是$");
		} else {
			t.printTestResultToExcel(cl_Name + getName(), "正确的电话号码，点击验证码按钮", "弹出确认电话号码提示", "fail");
			Log.e(TAG, "未弹出确认电话号码提示");
			assertTrue(false);
		}

		if (!entrance.getLogin_page().getBtn_verify().isEnabled()) {
			Log.d(TAG, "验证码按钮不可点击");
			t.printTestResultToExcel(cl_Name + getName(), "手机号输入框输入正确的电话号码，点击验证码按钮，验证验证码按钮状态", "验证码按钮不可点击", "pass");
		} else {
			Log.e(TAG, "验证码按钮状态错误");
			t.printTestResultToExcel(cl_Name + getName(), "手机号输入框输入正确的电话号码，点击验证码按钮，验证验证码按钮状态", "验证码按钮不可点击", "fail");
			assertTrue("验证码按钮状态错误", false);
		}
	}

	// 输入正确的号码，输入错误的验证码，点击确认按钮
	public void test_004_errorCode() throws Exception {
		Log.d(TAG, solo.waitForText("^开始使用$") + "++" + getName());

		entrance.getStart_Page().click_btn_start();
		solo.sleep(500);
		Log.e(TAG, "wait for view:" + solo.waitForView(entrance.getLogin_page().getBtn_ok()));

		entrance.getLogin_page().enter_PhoneNumber(
				UserInfo_Properties.getValue(UserInfo_Properties.MANERGERTEACHER_PHONENUMBER));
		entrance.getLogin_page().enter_verifyCode(errorCode);
		entrance.getLogin_page().clickOn_BtOk();

		if (solo.searchText("验证码错误")) {
			Log.d(TAG, "搜索到验证码错误提示");
			t.printTestResultToExcel(cl_Name + getName(), "输入正确的号码，输入错误的验证码，点击确认按钮", "toast提示验证码错误", "pass");
		} else {
			Log.d(TAG, "搜索到验证码错误提示");
			t.printTestResultToExcel(cl_Name + getName(), "输入正确的号码，输入错误的验证码，点击确认按钮", "toast提示验证码错误", "fail");
			assertTrue(false);
		}
	}

	// 编辑电话号码，验证 验证码按钮状态
	public void test_005_editPhoneNumber() throws Exception {
		Log.d(TAG, solo.waitForText("^开始使用$") + "++" + getName());

		entrance.getStart_Page().click_btn_start();
		solo.sleep(500);
		Log.e(TAG, "wait for view:" + solo.waitForView(entrance.getLogin_page().getBtn_ok()));

		entrance.getLogin_page().enter_PhoneNumber(
				UserInfo_Properties.getValue(UserInfo_Properties.MANERGERTEACHER_PHONENUMBER));
		entrance.getLogin_page().click_btn_verify();

		if (solo.waitForView(entrance.getLogin_page().getTv_title()))
			entrance.getLogin_page().clickOn_Left();

		entrance.getLogin_page().enter_verifyCode(errorCode);
		entrance.getLogin_page().clear_PhoneNumber();
		entrance.getLogin_page().enter_PhoneNumber(
				UserInfo_Properties.getValue(UserInfo_Properties.ANOTHERTEACHER_PHONENUMBER));
		entrance.getLogin_page().clear_verifyCode();
		entrance.getLogin_page().enter_verifyCode("12345");

		if (entrance.getLogin_page().getBtn_verify().isEnabled()) {
			Log.e(TAG, "编辑电话号码，验证码按钮状态错误");
			t.printTestResultToExcel(cl_Name + getName(), "编辑电话号码或验证码后，验证 验证码按钮状态", "不可点击", "fail");
			assertTrue(false);
		} else {
			Log.d(TAG, "编辑电话号码，验证码按钮状态正确");
			t.printTestResultToExcel(cl_Name + getName(), "编辑电话号码或验证码后，验证 验证码按钮状态", "不可点击", "pass");
		}
	}
}
